package persistent.dao;

import java.util.List;

import model.TParentInfo;
import model.VCloudParentClass;
import model.VCloudParentStudent;

/**
 * 学生家长管理业务类接口
 * @author djf
 * @since 2018/10/2
 */
public interface ParentInfoDAO {

	/**
	 * 添加一个学生家长
	 * @param vps 家长学生对应关系列表
	 * @param roleid 家长角色编号
	 * @return 成功返回主键，失败返回0
	 * @since 2018-12-04 16:08
	 */
	public boolean addParent(List<VCloudParentStudent> vps, int roleid);
	
	/**
	 * 修改一个家长信息
	 * @param parent 家长信息对象
	 * @return 成功返回true，失败返回false
	 */
	public boolean updateParent(TParentInfo parent);
	
	/**
	 * 删除一个家长信息
	 * @param parid 家长id
	 * @return 成功返回true，失败返回false
	 * @since 2018-11-24 11:45
	 */
	public boolean deleteParent(int parid);
	
	/**
	 * 根据一个用户名得到一个家长
	 * @param userName 用户名
	 * @return 成功返回TParentInfo家长用户对象，失败返回null
	 */
	public TParentInfo getTParentInfo(int parinfoid);
	
	/**
	 * 根据查询条件得到家长列表
	 * @param strwhere 查询条件
	 * @return 成功返回TParentInfo对象的家长信息列表，失败返回null
	 */
	public List<TParentInfo> getParentList(String strwhere);
	
	/**
	 * 根据查询条件得到一个分页的家长信息列表
	 * @param strwhere 查询条件
	 * @param currentPage 当前页
	 * @param pageSize 每页数
	 * @return 成功返回TParentInfo对象的家长信息列表，失败返回null
	 */
	public List<TParentInfo> getParentListByPage(String strwhere,int currentPage, int pageSize);
	
	
	/**
	 * 根据条件查询家长信息列表
	 * @param strwhere 查询条件
	 * @return 成功返回VCloudParentClass列表，失败返回null
	 */
	/*public List<VCloudParentClass> getParentByClass(String strwhere);*/
	
	/**
	 * 根据条件查询家长信息列表
	 * @param strwhere 查询条件
	 * @param currentPage 当前页
	 * @param pageSize 每页数
	 * @return 成功返回VCloudParentClass列表，失败返回null
	 */
	/*public List<VCloudParentClass> getParentByClass(String strwhere,int currentPage, int pageSize);*/
	
	/**
	 * 根据条件查询出家长学生对应信息
	 * @param strwhere 查询条件 
	 * @return 成功返回VCloudParentStudent，失败返回null
	 */
	public List<VCloudParentStudent> getParentStudent(String strwhere);
	
	/**
	 * 根据插叙条件得到学生家长控制类
	 * @param strwhere 查询条件 
	 * @param currentPage 当前页
	 * @param pageSize 每页数
	 * @return 成功返回VCloudParentStudent，失败返回null
	 */
	public List<VCloudParentStudent> getParentStudent(String strwhere,int currentPage, int pageSize);
	
	/**
	 * 根据条件查询出接收家长信息(发送事项接收家长)
	 * @param strwhere 查询条件 
	 * @return 成功返回VCloudParentStudent，失败返回null
	 *//*
	public List<VCloudReceiveParent> getReceiveParent(String strwhere);*/
	
	/**
	 * 批量导入学生家长关系信息
	 * @param list 关系信息列表
	 * @return 成功返回true，失败返回false
	 */
	public List<VCloudParentStudent> batchImport(List<VCloudParentStudent> list, int parroleid);
	
	/**
	 * 激活家长账号
	 * @param phone 手机号
	 * @param userName 用户名
	 * @param pwd 密码
	 * @return 成功返回true，失败返回false
	 */
	public boolean parActivationaCcount(String phone, String userName, String pwd);
}
